package cn.zyq.charging.order.feign;

import cn.zyq.charging.common.pojo.JsonResult;
import cn.zyq.charging.common.pojo.param.ChargingProcessParam;
import cn.zyq.charging.common.pojo.vo.ChargingProcessVO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

//这个CostClient接口是让订单服务调用计费的。
//@FeignClient注解的值要和nacos服务列表里的服务名称一致
@FeignClient("costService")
public interface CostClient {
    @PostMapping("/cost/calculate")
    JsonResult<ChargingProcessVO> calculateCost(@RequestBody ChargingProcessParam chargingProcessParam);
    //@RequestBody作用： 用于将请求体中的数据自动映射到方法参数上， 通常处理put请求、或post请求。
    //    内容类型：通常需要设置请求头 Content-Type 为 application/json 或 application/xml，以便 Spring 能够正确解析请求体。
}